﻿Public Class FrmDebug

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim pess As New Model.Pessoa

        pess.pessoa_cliente = 1
        pess.pessoa_nomecomercial = "Debug"

        ' Via Binding
        Dim bs As New BindingSource
        bs.DataSource = pess.Contatos
        bs.AddNew()
        CType(bs.Current, Model.Contato).contato_nome = "Teste"
        CType(bs.Current, Model.Contato).Pessoa = pess

        ' Manual
        'Dim cont As New Model.Contato
        'cont.contato_nome = "Contato um"
        'cont.Pessoa = pess
        'pess.Contatos.Add(cont)


        pess.Save()


        DataGridView1.DataSource = Model.Pessoa.FindAll()

        Dim x As Integer
        x = 1
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim c As IList(Of Model.Cfop)

        c = Model.Cfop.FindAll()




    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'cbFormaPagamento.DataSource = Model.EnumList.Listar(GetType(Model.EnumList.FormaPagamento))
        'cbFormaPagamento.DisplayMember = "Value"
        'cbFormaPagamento.ValueMember = "Key"
        LibComboBox1.DataSource = Model.Enum(Of Model.Sexo).Descriptions()
        'LibComboBox1.DisplayMember
        'LibComboBox1.ValueMember = "Key"

    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        ' Lista Tudo com item e item imposto
        Dim nfvizu As IList(Of Model.Nf)
        nfvizu = Model.Nf.FindAll()


        '------------------------------------------------
        ' Cria a nota
        'Dim nf As New Model.Nf

        ' Cria uma lista de item
        'Dim nfis As IList(Of Model.Nfitem)
        'nfis = nf.Nfitem ' Seta uma instancia de itens da nf

        ' Cria um item avulso
        'Dim nfi As New Model.Nfitem
        'nfi.Nf = nf ' Seta a nf do item

        'Dim nfiis As IList(Of Model.Nfitemimposto)
        'nfiis = nfi.Nfitemimpostos

        'Dim nfii As New Model.Nfitemimposto
        'nfii.Nfitem = nfi
        'nfiis.Add(nfii)

        ' Adiciona o item ao nf
        'nfis.Add(nfi)

        'nf.Save()

        '------------------------------------------------
        'Dim nfi As New Model.Nfitem
        'Dim nfii As New Model.Nfitemimposto

        ' Filho recebe o pai (pai é atribuido ao filho)
        ' Não ta gerando os filhos
        'nfii.Nfitem = nfi

        'nfi = nf.Nfitem
        'nfi.Nf = nf

        ' Assim não pode ter Inverse, senão não grava as fk
        'nfi.Nfitemimpostos.Add(nfii) ' Adiciona imposto ao item
        'nfi.Nf = nf
        'nf.Nfitem.Add(nfi) ' Adiciona item a nota

        ' Salva só a Master (outros estão como cascade)
        'nf.Save()

        '------------------------------------------------
        ' Cria a nota
        Dim nf As New Model.Nf

        ' Cria uma lista de item
        Dim nfis As IList(Of Model.Nfitem)
        nfis = nf.Nfitem ' Seta uma instancia de itens da nf

        ' Cria um item avulso
        Dim nfi As New Model.Nfitem
        nfi.Nf = nf ' Seta a nf do item

        ' Adiciona o item ao nf
        nfis.Add(nfi)


        nf.Save()

        MessageBox.Show("Fim")

    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim pess As New Model.Pessoa

        ' Nova Iterface do tipo Lista e atritui a lista do mater
        Dim enderecos As IList(Of Model.Endereco)
        enderecos = pess.Enderecos
        'Dim enderecos As New List(Of Model.Endereco)

        ' Novo endereço e vincula o Master
        Dim endereco As New Model.Endereco
        endereco.Pessoa = pess

        enderecos.Add(endereco)

        pess.Save()

        MessageBox.Show("Fim")
    End Sub
End Class